Automated pacing of vehicle operator content interaction

ABSTRACT

In one example, a computing device includes one or more user input detection components, and one or more processors configured to receive an indication of a first user input detected by the one or more user input detection components, responsive to receiving the indication of the first user input, adjust a level of an attention buffer at a defined rate; responsive to determining that the level of the attention buffer satisfies a first threshold, prevent further interaction with a user interface of the computing device, responsive to determining that an indication of a second user input has not been received within a time period, adjust a level of the attention buffer, and responsive to determining that the level of the attention buffer satisfies a second threshold, allow further interaction with the user interface.

RELATED APPLICATIONS

This application is a continuation of U.S. application Ser. No.15/693,560, filed Sep. 1, 2017, which claims the benefit of U.S.Provisional Application No. 62/410,713, filed Oct. 20, 2016, the entirecontents of each of which are hereby incorporated by reference.

BACKGROUND

Operating a vehicle, such as an automobile, motorcycle, aircraft, marinecraft, and the like, requires attention from the vehicle operator. Safedriving requires high levels of situational awareness of the drivingtask and of influences on the driving task. To maintain a high level ofsituational awareness for driving, the operator should pay attention tothe road and be actively thinking about the driving task. When anoperator engages in a secondary task, the operator may divert one ormore of their eyes, hands, and mind away from the primary driving task.Diverting attention from the primary driving task too long may result indangerous driving behavior, and potentially cause a vehicle accident.

SUMMARY

In one example, a method for pacing content interaction of a vehicleoperator includes receiving, by one or more processors of a computingdevice, an indication of a first user input; responsive to receiving theindication of the first user input, adjusting, by the one or moreprocessors, a level of an attention buffer at a defined rate; responsiveto determining that the level of the attention buffer satisfies a firstthreshold, preventing, by the one or more processors, furtherinteraction with a user interface of the computing device; responsive todetermining that an indication of a second user input has not beenreceived within a time period, adjusting, by the one or more processors,a level of the attention buffer; and responsive to determining, by theone or more processors, that the level of the attention buffer satisfiesa second threshold, allowing further interaction with the userinterface.

In another example, a computing device includes one or more user inputdetection components; and one or more processors configured to: receivean indication of a first user input detected by the one or more userinput detection components; responsive to receiving the indication ofthe first user input, adjust a level of an attention buffer at a definedrate; responsive to determining that the level of the attention buffersatisfies a first threshold, prevent further interaction with a userinterface of the computing device; responsive to determining that anindication of a second user input has not been received within a timeperiod, adjust a level of the attention buffer; and responsive todetermining that the level of the attention buffer satisfies a secondthreshold, allow further interaction with the user interface.

In another example, a computer-readable storage medium storesinstructions that, when executed, cause one or more processors of acomputing device to: receive an indication of a first user inputdetected by the one or more user input detection components; responsiveto receiving the indication of the first user input, adjust a level ofan attention buffer at a defined rate; responsive to determining thatthe level of the attention buffer satisfies a first threshold, preventfurther interaction with a user interface of the computing device;responsive to determining that an indication of a second user input hasnot been received within a time period, adjust a level of the attentionbuffer; and responsive to determining that the level of the attentionbuffer satisfies a second threshold, allow further interaction with theuser interface.

In another example, a computing device includes means for receiving anindication of a first user input; responsive to receiving the indicationof the first user input, adjusting, by the one or more processors, alevel of an attention buffer at a defined rate; responsive todetermining that the level of the attention buffer satisfies a firstthreshold, preventing, by the one or more processors, furtherinteraction with a user interface of the computing device; responsive todetermining that an indication of a second user input has not beenreceived within a time period, adjusting, by the one or more processors,a level of the attention buffer; and responsive to determining, by theone or more processors, that the level of the attention buffer satisfiesa second threshold, allowing further interaction with the userinterface.

In one example, a method for pacing content interaction of a vehicleoperator includes receiving, by one or more processors of a computingdevice, an indication of a first user input; responsive to receiving theindication of the first user input, adjusting, by the one or moreprocessors, a level of an attention buffer at a defined rate; responsiveto determining that the level of the attention buffer satisfies a firstthreshold, outputting, by the one or more processors, a firstnotification to discourage interaction with a user interface of thecomputing device; responsive to determining that an indication of asecond user input has not been received within a time period, adjusting,by the one or more processors, a level of the attention buffer; andresponsive to determining, by the one or more processors, that the levelof the attention buffer satisfies a second threshold, allowing furtherinteraction with the user interface without outputting a subsequentnotification to discourage interaction with the user interface.

In a further example, a computing device includes: one or more userinput detection components; and one or more processors configured to:receive an indication of a first user input; responsive to receiving theindication of the first user input, adjust a level of an attentionbuffer at a defined rate; responsive to determining that the level ofthe attention buffer satisfies a first threshold, output a firstnotification to discourage interaction with a user interface of thecomputing device; responsive to determining that an indication of asecond user input has not been received within a time period, adjust alevel of the attention buffer; and responsive to determining that thelevel of the attention buffer satisfies a second threshold, allowfurther interaction with the user interface without outputting asubsequent notification to discourage interaction with the userinterface.

The techniques of this disclosure may provide one or more advantages.For example, by adjusting (e.g., reducing or increasing) the attentionbuffer level based on detected user inputs, the techniques of thisdisclosure may avoid a need for additional device infrastructure formonitoring the vehicle operator's visual glance behavior to predictsituational awareness and attention. For example, the techniques of thisdisclosure may avoid the need for additional equipment to measure thedriver (e.g., eye-tracking or physiological measurement equipment). Thetechniques of this disclosure may further conserve computing resourcesof the computing device, such as by avoiding a need for additionalprocessing resources for processing visual glance behavior monitoringdata. Instead, the techniques described herein may make more efficientuse of one or more types of data already collected by the computingdevice, such as indications of user inputs, vehicle state, orinformation being presented to the vehicle operator, for example.

The details of one or more examples of the disclosure are set forth inthe accompanying drawings and the description below. Other features,objects, and advantages will be apparent from the description anddrawings, and from the claims.

BRIEF DESCRIPTION OF DRAWINGS

FIG. 1 is a conceptual diagram illustrating an interior of a vehiclethat includes a computing system configured to pace content interactionby an operator of the vehicle, in accordance with one or more techniquesof this disclosure.

FIG. 2 is a block diagram illustrating an example vehicle computingdevice configured to pace content interaction by a vehicle operator, inaccordance with one or more techniques of this disclosure.

FIG. 3 is a block diagram illustrating an example computing device thatoutputs graphical content for display at a remote device, in accordancewith one or more techniques of the present disclosure.

FIG. 4 is a block diagram illustrating example operation of an exampleattention model in blocking interaction with a user interface.

FIG. 5 is a block diagram illustrating an example attention model inpacing content interaction with the user interface.

FIG. 6 is a flow diagram illustrating example operation of a computingdevice to pace content interaction by a vehicle operator, in accordancewith one or more techniques of the present disclosure.

FIG. 7 is a flow diagram illustrating another example operation of acomputing device to pace content interaction by a vehicle operator, inaccordance with one or more techniques of the present disclosure.

DETAILED DESCRIPTION

In general, this disclosure is directed to techniques for enablingcomputing systems to pace content interaction by vehicle operators. If acomputing system detects that an operator is interacting with the userinterface in a manner that indicates insufficient attention is beinggiven to a driving task, the computing system may block interaction witha user interface. The computing system keeps track of how much theoperator is interacting with the user interface, and allows interactionwith the user interface to resume after the operator has reducedinteraction with the user interface. The techniques may aid in managingan attention level of the vehicle operator directed towards the drivingtask, thereby avoiding unsafe distraction during driving.

In some examples, a computing device may employ a buffer model thatdetermines how much a user can interact with a car infotainment system.The computing device may use the buffer model to determine an allowableextent of interaction by the user with an infotainment system inside avehicle, e.g., based on the user's tapping behavior and/or an amount ofinformation present to the user after an input. The computing device maydeplete the buffer at a defined rate as the user interacts and restorethe buffer over time when no interaction is detected. The computingdevice may suspend the user's ability to input to the infotainmentsystem for a certain amount of time when the buffer is depleted, beforefurther interaction is permitted. The computing device may adjust thebuffer level responsive to different inputs, depending on severalfactors including type of input, data displayed to the driver, anddriving state of the vehicle.

Throughout the disclosure, examples are described where an in-vehiclecomputing system, computing device and/or a computing system analyzesinformation (e.g., context, locations, speeds, tap interactions, searchqueries, etc.) associated with a computing device and a user of acomputing device, only if the computing device receives permission fromthe user of the computing device to analyze the information. Forexample, in situations discussed below, before a computing device orcomputing system can collect or may make use of information associatedwith a user, the user may be provided with an opportunity to provideinput to control whether programs or features of the computing deviceand/or computing system can collect and make use of user information(e.g., information about a user's current location, current speed,etc.), or to dictate whether and/or how to the device and/or system mayreceive content that may be relevant to the user. In addition, certaindata may be treated in one or more ways before it is stored or used bythe computing device and/or computing system, so thatpersonally-identifiable information is removed. For example, a user'sidentity may be treated so that no personally identifiable informationcan be determined about the user, or a user's geographic location may begeneralized where location information is obtained (such as to a city,ZIP code, or state level), so that a particular location of a usercannot be determined. Thus, the user may have control over howinformation is collected about the user and used by the computing deviceand computing system.

FIG. 1 is a conceptual diagram illustrating an interior of a vehiclethat includes a computing system configured to pace content interactionby an operator of the vehicle, in accordance with one or more techniquesof this disclosure. As illustrated in FIG. 1, vehicle 2 includes vehiclecomputing system 4, seat 6, steering wheel 8, and dashboard 10. Vehiclecomputing system 4 is configured to block interaction with a userinterface in response to detecting that the operator is interacting withthe user interface in a manner that indicates insufficient attention islikely being given to the driving task, and allow interaction with theuser interface in response to detecting that the operator is interactingwith the user interface in a manner that indicates sufficient attentionis likely being given to the driving task.

As illustrated in FIG. 1, vehicle 2 may be an automobile, but aspects ofthe present disclosure may also be applicable to other types ofvehicles, including trucks, motorcycles, aircraft, watercraft, trains,bicycles, or other vehicles. A driver may normally occupy seat 6, whichmay be positioned directly behind steering wheel 8 of vehicle 2 suchthat an occupant of seat 6 may physically control steering wheel 8.Steering wheel 8 may protrude from dashboard 10. At least one frontpassenger seat may be laterally positioned adjacent to seat 6. Otherpassenger seats may be positioned behind seat 6 or in front of seat 6.

A collection of devices, components, and modules that may each beincluded in vehicle computing system 4 is also shown in FIG. 1. Vehiclecomputing system 4 includes, but is not limited to, presence-sensitivepanel 14, display 16 and control unit 18. One or more components ofvehicle computing system 4, such as presence-sensitive panel 14 may bedirectly and physically accessible to occupants seated in the frontdriver and front passenger seats of vehicle 2, and may be locatedwithin, near, or on center console 20. Such components may be withineasy reach of such occupants, and may also or alternatively bepositioned in another passenger area of vehicle 2, such as a back seat.As further described below, presence-sensitive panel 14 may function asan input device for vehicle computing system 4. In some examples,presence-sensitive panel 14 may be integrated into display 16 such thatdisplay 16 may be a presence-sensitive display. In some examples, one ormore components of vehicle computing system 4 that may not necessarilyrequire physical access by occupants of vehicle 2 (such as, in someexamples, speakers 12, display 16, and control unit 18), may bepositioned in or on or integrated into dashboard 10.

In some examples, as shown in FIG. 1, some or all of vehicle computingsystem 4 may be housed within dashboard 10, which may in some examplesbe constructed of plastic, vinyl, leather, rubber, aluminum, steel, orany other suitable material. Control unit 18 may be housed withinhousing 22, which may also be constructed of plastic, vinyl, rubber,aluminum, steel, or any other suitable material. In some examples,housing 22 may also be a rigid case that encloses and otherwise protectsone or more electrical components that provide functionality for vehiclecomputing system 4. In some examples, housing 22 may be affixed, mountedor otherwise integrated with the automobile dashboard or console.

Although described for purposes of example as a component or systeminstalled in vehicle 2, in some examples, some or all aspects describedwith respect to vehicle computing system 4 may be housed within acomputing device separate from vehicle 2, such as a mobile computingdevice. For instance, the mobile computing device may be a mobilecomputing device (e.g., a smart phone) of an operator of the vehicle. Insome examples, the computing device may be held by the operator ormounted to dashboard 10 or other portion of vehicle 2 (e.g., removablymounted). The computing device may, in some examples, plug into vehicle2 or connect to vehicle computing system 4 by a cable. In some examples,the computing device may cast or project an operating system interfaceto the display 16 of vehicle computing system 4, such that an operatorinteracts with display 16 of vehicle computing system 4 to view orinteract with content provided by the computing device (e.g., asdescribed with respect to FIG. 3). For example, the computing device mayuse a head up display in which information is projected to a transparentscreen and a driver can view the information while also seeing throughthe transparent screen to the roadway).

The computing device may allow the operator to control the computingdevice and/or applications executing on the computing device, such ascontrolling via one or more of a presence-sensitive display of vehiclecomputing system 4 and voice commands. In some examples, aspectsdescribed herein as being displayed via display 16 may alternatively oradditionally be displayed by a display of the mobile computing device.In some examples, inputs that may be described herein as being receivedvia presence-sensitive panel 14 may be alternatively or additionallyreceived by a presence-sensitive display of the mobile computing device.In some examples, inputs may be received via presence sensitive-panel 14and the inputs control operation of the mobile computing device, whichdisplays information in response to the inputs on a display of themobile computing device and/or a display 16 of an in-vehicle computingsystem.

Control unit 18 may provide an operating environment or platform for oneor one more modules, such as a combination of hardware, firmware, andsoftware, as further illustrated in FIG. 2. For instance, control unit18 may include one or more processors and storage devices that mayexecute instructions and store data of one or more modules. Control unit18 may also be operably coupled to one or more other software and/orhardware components, including presence-sensitive panel 14, and display16 to control, configure, and/or communicate information with thecomponents, to name only a few example operations.

Vehicle computing system 4 may operate to assist, inform, entertain, orperform other tasks that require user interactions with occupants of avehicle. Vehicle computing system 4 may be referred to as an in-vehicleinfotainment (IVI) system, or a subcomponent thereof. For example,vehicle computing system 4 may include one or more application modules 4that perform functions or process information on behalf of one or moreoccupants of vehicle 2. For instance, vehicle computing system 4 mayprovide a navigation service that provides directions to destinations.Vehicle computing system 4 may also provide an information retrievalservice that provides information in response to queries and/or aspreemptive assistance or recommendations. Vehicle computing system 4 mayalso provide vehicle data about vehicle 2, or multimedia such as audioor video. Only a few examples are mentioned of the functionality thatmay be provided by vehicle computing system 4, and vehicle computingsystem 4 may provide many additional capabilities. In this and otherways, vehicle computing system 4 may improve the driving or ridingexperience for one or more occupants of vehicle 2.

In some examples, vehicle computing system 4 may be controlled throughinput detected by presence-sensitive panel 14, and/or through inputdetected by one or more additional input devices (e.g., microphones,cameras, physical buttons or switches, or other types of input devices).Presence-sensitive panel 14 may, in some examples, function simply as aninput device for touch input, provided by user input that occursdirectly and physically at presence-sensitive panel 14. For instance,presence-sensitive panel 14 may function as a presence-sensitive inputdevice using a presence-sensitive device, such as a resistivetouchscreen or touch panel, a surface acoustic wave touchscreen or touchpanel, a capacitive touchscreen or touch panel, a projective capacitancetouchscreen or touch panel, a pressure-sensitive screen or touch panel,an acoustic pulse recognition touchscreen or touch panel, or anotherpresence-sensitive screen or touch panel technology.

Display 16 may function as an output device, such as a display device,using any one or more of a liquid crystal display (LCD), dot matrixdisplay, light emitting diode (LED) display, organic light-emittingdiode (OLED) display, e-ink, or similar monochrome or color displaycapable of outputting visible information to a user or vehicle occupant.In some examples, display 16 may also function as an input device, sothat it serves as both an input and output device. In such examples,display 16 may include an integrated presence-sensitive input device(e.g., presence-sensitive panel 14 may be integrated into display 16)and a display device. For instance, display 16 may function as apresence-sensitive input device using a presence-sensitive screen, suchas a resistive touchscreen, a surface acoustic wave touchscreen, acapacitive touchscreen, a projective capacitance touchscreen, apressure-sensitive screen, an acoustic pulse recognition touchscreen, oranother presence-sensitive screen technology. Based on user input,display 16 may present output to a user. For instance, display 16 maypresent various user interfaces of applications (e.g., a navigationapplication, a music application, a vehicle control application, atelephony application, a messaging application, a search application,etc.) executing at vehicle computing system 4. An occupant of thevehicle, such as a driver, may provide user input to interact with oneor more of such applications.

As described above, vehicle computing system 4 may include attentionmanagement module 24, user interface (UI) module 26, and applicationmodules 28. Attention management module 24, UI module 26, andapplication modules 28 may perform operations described herein usingsoftware, hardware, firmware, or a mixture of both hardware, software,and firmware residing in and executing by vehicle computing system 4 orat one or more other remote computing devices. As such, attentionmanagement module 24, UI module 26, and application modules 28 may beimplemented as hardware, software, and/or a combination of hardware andsoftware. Vehicle computing system 4 may execute attention managementmodule 24, UI module 26, application modules 28, or one or more othermodules as or within a virtual machine executing on underlying hardware.Attention management module 24, UI module 26, and application modules 28may be implemented in various ways. For example, attention managementmodule 24, UI module 26, and application modules 28 may be implementedas a downloadable or pre-installed application or “app.” In anotherexample, attention management module 24, UI module 26, and applicationmodules 28 may be implemented as part of an operating system of vehiclecomputing system 4.

Application modules 28 may include functionality to perform any varietyof operations on vehicle computing system 4. For instance, applicationmodules 28 may include one or more of a navigation application, aweather application, a phone dialer application, an informationretrieval application, a multimedia application, a vehicle informationapplication, an email application, a text messaging application, aninstant messaging application, a social networking application, a stockmarket application, an emergency alert application, a sportsapplication, to name only a few examples. Although shown as operablewithin control unit 18 of vehicle computing system 4, one or more ofapplication modules 28 may be operable by a remote computing device thatis communicatively coupled to vehicle computing system 4. In suchexamples, an application module executing at a remote computing devicemay cause the remote computing device to send content and intentinformation using any suitable form of data communication (e.g., wiredor wireless network, short-range wireless communication such as NearField Communication or Bluetooth, etc.). In some examples, a remotecomputing device may be a computing device that is separate from acomputing device included in vehicle computing system 4. For instance,the remote computing device may be operatively coupled to vehiclecomputing system 4 by a network. The remote computing device may beoperatively coupled to vehicle computing system 4 by a wired connection,such as USB, Thunderbolt, or Lightning cables, for example. Examples ofa remote computing device may include, but is not limited to a server,smartphone, tablet computing device, smart watch, and desktop computer.In some examples, a remote computing device may or may not be anintegrated component of vehicle computing system 4.

UI module 26 of vehicle computing system 4 may receive, frompresence-sensitive panel 14, one or more indications of user inputdetected at presence-sensitive panel 14. Generally, each timepresence-sensitive panel 14 detects user input at a particular locationof presence-sensitive panel 14, UI module 26 may receive an indicationof user input or information about the user input frompresence-sensitive panel 14. UI module 26 may assemble the informationreceived from presence-sensitive panel 14 into a set of one or moreevents, such as a sequence of one or more touch events. Each touch eventin the sequence may include data or components that represent parameters(e.g., when, where, originating direction) characterizing a presenceand/or movement of input at presence-sensitive panel 14. Each touchevent in the sequence may include a location component corresponding toa location of presence-sensitive panel 14, a time component related towhen presence-sensitive panel 14 detected user input at the location,and/or an action component related to whether the touch eventcorresponds to a lift up or a push down at the location.

UI module 26 may determine one or more characteristics of the user inputbased on the sequence of touch events and include information aboutthese one or more characteristics within each touch event in thesequence of touch events. For example, UI module 26 may determine one ormore of a start location of the user input, an end location of the userinput, a density of a portion of the user input, a speed of a portion ofthe user input, a direction of a portion of the user input, and acurvature of a portion of the user input. UI module 26 may transmitindications of user input from presence-sensitive panel 14 to othermodules, such as application modules 28 and attention management module24. UI module 26 may determine one or more single- or multi-touchgestures provided by a user. UI module 26 may also act as anintermediary between various components of vehicle computing system 4 tomake determinations based on input detected by presence-sensitive panel14 and generate output presented by display 16. For instance, UI module26 may receive data from one or more application modules 28 and causedisplay 16 to output content, such as a graphical user interface, fordisplay. UI module 26 may transmit indications of user input from otherinput components in addition or alternative to presence-sensitive panel14, such as indications of user inputs such as voice commands detectedby a microphone or non-touch gesture commands detected by a camera orother sensors.

Vehicle 2 may include a wide variety of sensors, which may be configuredto provide output to vehicle computing system 4. For instance, vehicle 2may include a speed sensor, an acceleration sensor, a position sensor,and the like. In some examples, vehicle computing system 4 may beconfigured to communicate with the sensors via a network or bus ofvehicle 2, such as a component area network (CAN) bus.

In accordance with one or more techniques of this disclosure, vehiclecomputing system 4 may use an attention buffer to monitor an amount orrate of interaction with content presented by the user interface andsuspends user interaction when a state of the attention buffer indicatesthe amount or rate of interaction exceeds expected thresholds forsituationally-aware driving. The techniques of this disclosure may serveto encourage a responsible interaction level and suspend anirresponsible interaction level.

For example, the techniques of this disclosure include vehicle computingsystem 4 using an attention buffer model which may serve a predictor ofdriver awareness and attention to the driving task. The attention buffermodel associates indications of user inputs with the vehicle operatorpaying attention to the user interface, and associates an absence ofindications of user inputs with the vehicle operator paying attention tothe driving task. The attention buffer may be developed to represent acapacity of mental resources and derived situational awareness that thevehicle operator has available to devote to the primary task of driving.When the attention buffer is at a maximum amount or exceeds a threshold,the level represents that the vehicle operator is assumed to haveappropriate levels of driving situational awareness. When the attentionbuffer level drops below a threshold or reaches its minimum amount, thelevel represents that the vehicle operator is assumed need to regaindriving situational awareness.

Vehicle computing system 4 maintains the attention buffer and may beconfigured, e.g., based on the attention buffer model, to deplete (e.g.,decrease a level of) or restore (e.g., increase a level of) theattention buffer based on indications of user inputs. For example,vehicle computing system 4 may deplete the attention buffer in responseto receiving indications of user inputs. For example, vehicle computingsystem 4 may fully or partially restore the attention buffer in responseto determining that no indications of user inputs are received in a timeperiod.

If vehicle computing system 4 receives indications of multiple userinputs in succession, vehicle computing system 4 may decrease the levelof the attention buffer and at some point, the attention buffer will beempty or below a threshold level. In response to determining this pointis reached, vehicle computing system 4 may take one or more actions thatprompt the user to cease making user inputs to the user interface andreturn attention to the driving task. For example, vehicle computingsystem 4 may output a notification and/or block interaction with theuser interface. The vehicle computing system 4 may allow interactionwith the user interface to resume after determining the attention bufferis restored to a predetermined level. If the vehicle operator adopts aresponsible interaction strategy with appropriate attentional balancebetween the primary driving task and the secondary user interface task,the attention buffer remains high and the operator may not be blockedfrom the user interface.

For example, in accordance with one or more techniques of thisdisclosure, vehicle computer system 4 includes attention managementmodule 24, which may include functionality to manage an attention levelof an operator of vehicle 2 to encourage the operator to devote a levelof attention to the driving task sufficient to ensure safety. Forexample, attention management module 24 may be configured to receiveindications of user inputs received or detected by one or more inputcomponents (including, for example, presence-sensitive panel 14) andpace the operator's content interaction by controlling, based on theuser inputs, whether the input components and/or display 16 are operableby the operator. User inputs that attention management module 24 may useas a basis for determining whether to allow the user to interact withinput components 34, 44 may include, for example, touch inputs, voicecommands, and/or gesture commands. Touch inputs, including inputsdetected by presence-sensitive input component 44, may include a tapinput, a swipe input, a slow scroll input, and a fast scroll input, forexample. In some examples, these touch inputs may include multi-fingergesture inputs.

User inputs may be correlated to the operator's expected visual glancebehavior, and relying on user inputs may provide a more practical, lessexpensive option for an attention model than measuring actual glancebehavior. Attention management module 24 may be configured according toan attention model as described herein, to use user inputs such as touchinputs, voice commands, and gesture commands as a surrogate for glancebehavior and an overall predictor of situational awareness of thedriving task. Attention management module 24 may use a buffer model todetermine how much a vehicle operator (user) can interact with a userinterface such as touch-sensitive panel 14, display 16, or other inputcomponents. Attention management module 24 may determine how much theuser is allowed to interact with the user interface based on, forexample, one or more of user input behavior or an amount of informationpresented to the user after user input. For example, attentionmanagement module 24 may maintain an attention buffer 50. In thisexample, attention management module 24 determines whether a user shouldinteract with the user interfaces based on a state of attention buffer50. As the user interacts with the user interface(s) of vehiclecomputing system 4, attention management module 24 may deplete attentionbuffer 50 at a defined rate. Over time, in response to detecting a lackof user inputs, attention management module 24 may restore the attentionbuffer, such as by applying attention buffer credits. Attention buffer50 may have a maximum value, such that once the maximum is reached, nofurther attention buffer credits are applied to attention buffer 50.

The model for configuring attention management module 24 to useattention buffer 50 may be developed based on data that associatesvisual glance behaviors with user inputs. As more data becomesavailable, attention management module 24 may be configured to extendthe model. For example, attention management module 24 may be refinedand extended to respond differently, such as by decreasing the level ofthe attention buffer at different rates or by certain discrete attentionbuffer debit values depending on one or more factors. In some examples,attention management module 24 may dynamically determine a rate or valueby which to deplete or restore attention buffer 50 based on one or morefactors, such as what information is being shown to the operator (e.g.,type, amount, rate), user inputs indicating what the operator is doingwith that information or how the operator is consuming the information(e.g., single inputs, quick successive inputs indicating scrolling), ordriving state, for example. In this manner, attention management module24 may be configured to derive a depletion rate for attention buffer 50that corresponds to the overall task complexity or expected level ofdistraction incurred.

Alternatively or in addition to deriving a depletion rate for attentionbuffer 50, attention management module 24 may in some examples assign a“glance value” to a detected user input, where the glance value variesbased on one or more factors, such as any of the factors described inthis disclosure. Other factors that attention management module 24 mayuse for determining a rate at which to deplete or restore attentionbuffer 50 or a glance value to assign to an input that affects depletionof attention buffer 50 may include an amount of content being displayedto a user, a complexity of content being displayed to a user, a pace atwhich a user is scrolling through displayed content, direction ofscrolling (up or down), type of user interface element tapped (e.g.,home button, play button), relative content menu level (e.g., sub-menulevel, main menu level), whether access is being requested to view newcontent or to view content that was previously viewed, whether and howinformation is organized (e.g., alphabetical order or unordered).

For example, attention management module 24 may assign a higher glancevalue and/or deplete attention buffer 50 at a higher rate when morecontent or more complex content is being displayed to a user than whenless content or simpler content is being displayed to a user. Complexitymay be determined based on various factors, such as type of content(icons, text, ratio therebetween) and amount of content, for example. Asanother example, attention management module 24 may assign a higherglance value and/or deplete attention buffer 50 at a higher rate forinputs to scroll more slowly through displayed content than for input toscroll more quickly through displayed content. As a further example,attention management module 24 may assign a higher glance value and/ordeplete attention buffer 50 at a higher rate for inputs to scroll downthan inputs to scroll up.

As another example, attention management module 24 may assign a higherglance value and/or deplete attention buffer 50 at a higher rate fortapping a play button than for tapping a home button. As anotherexample, attention management module 24 may assign a higher glance valueand/or deplete attention buffer 50 at a higher rate for a tap thataccesses a sub-menu level than a tap for accessing a main menu level. Asanother example, attention management module 24 may assign a higherglance value and/or deplete attention buffer 50 at a higher rate for atap that requests to view new content than for a tap that requests toview content that was previously viewed. As a further example, attentionmanagement module 24 may assign a higher glance value and/or depleteattention buffer 50 at a higher rate when displayed information isunordered than when displayed information is ordered.

Attention management module 24 determining that the attention buffer isdepleted may indicate the user has devoted too much attention to theinterface in too short of a time window. In this case, attentionmanagement module 24 may suspend user input for a certain amount of timebefore permitting further interaction, until the attention buffer 50 isrestored to a certain level. For example, attention management module 24may cause UI module 26 to output for display a temporary lockout screen(e.g., via display 16). For example, UI module 26 may cause display 16to present graphical user interface 17. Graphical user interface 17includes graphical elements displayed at various locations of display16. For example, as illustrated in FIG. 1, graphical user interface 17includes a plurality of regions, including a primary application region,a controls region, and a notification region. The notification regionincludes notification 19, which displays a “no” icon and a message“PAUSED FOR SAFETY.”

In some examples, attention management module 24 may cause UI module 26to output for display a graphical element indicating the user must waituntil user input can be resumed, such as a spinning icon, a blinkingicon, or other graphical element, animation, or message. In someexamples, attention management module 24 may cause UI module 26 tooutput for display an indication of an amount of time remaining untiluser input can be resumed. For example, the indication may be agraphical depiction of an hourglass or a colored or shaded bar on whichthe amount of color or shading increases or changes to indicate apercent of completion of the pause time.

Alternatively or additionally, attention management module 24 may causeUI module 26 to output an audible notification (e.g., an audio cue)prompting the driver to focus back on driving for a period of time(e.g., via speakers 12). In some examples, the audible notification mayinclude a tone that is played to cue the driver to focus on the road orto indicate that browsing access is paused. Alternatively oradditionally, the audible notification may include a voice educationmessage indicating that browsing is being paused for safety. The voiceeducation message may indicate that browsing may be resumed in a definedtime period.

In some examples, attention management module 24 may delay suspendinguser input and outputting a notification until after a defined timeperiod has elapsed from when the attention buffer 50 is depleted. Forexample, attention management module 24 may delay suspending user inputfor 1 second after determining that the attention buffer 50 is depleted.

In response to determining that no user inputs are received in aconfigured time period, attention management module 24 may increase alevel of the attention buffer. Attention management module 24 may allowinteraction with the user interface in response to determining that theattention buffer is restored to the appropriate level. In some examples,attention management module 24 may cause UI module 26 to output anaudible notification (e.g., an audio cue) to indicate that the user isagain allowed to interact with the user interface. In some examples, theaudible notification may include a tone that is played to indicate thatbrowsing access is resumed. Alternatively or additionally, the audiblenotification may include a voice education message indicating thatbrowsing may be resumed. In this manner, operation of attentionmanagement module 24 may have an effect of encouraging the user refocuson the driving task for a period of time to regain situational awarenessof the driving task before further interacting with the user interfacesof vehicle computing system 4. The techniques of this disclosure mayhelp the user to appropriately shift between the primary driving taskand the secondary task of interacting with the user interfaces, toensure proper attention is given to the primary driving task and therebymaintain safe driving while engaging in the secondary task.

In some examples, pacing content browsing of the vehicle operatorincludes attention management module 24 determining a rate ofinformation output for display by the computing device. Responsive todetermining that the rate of information output for display is above athreshold rate, attention management module 24 reduces a level of anattention buffer stored by the computing device, and responsive todetermining that the rate of information output for display is not abovethe threshold rate, attention management module 24 increases the levelof the attention buffer. Responsive to determining that the level of theattention buffer has fallen below a first attention buffer threshold,attention management module 24 may output an indication that the vehicleoperator's interaction with a user interface is suspended. Responsive todetermining that the level of the attention buffer is above a secondattention buffer threshold, attention management module 24 allows thevehicle operator to interact with the user interface. Although describedfor purposes of example in terms of in terms of reducing a level of anattention buffer as user inputs are detected and increasing the level ofthe attention buffer as user inputs are not detected, in other examplesdifferent models may be used. For example, an “interaction intensity”attention buffer model may be used, and attention buffer module 48 mayincrease a level of the interaction intensity attention buffer as userinputs are detected. When the interaction intensity attention bufferexceeds a first threshold, attention buffer module 48 may triggernotifications to discourage interaction and/or interaction may beblocked until the interaction intensity attention buffer is below asecond threshold.

In some examples, attention management module 48 may use multiple,successive thresholds at which to output different notifications ofincreasing prominence to the user. The notifications may include one ormore of audible notifications, visual notifications, tactilenotifications, or a combination of these. In some examples, attentionmanagement module 24 may use progressive and adaptive visual andinteraction design elements of the presentation of one or morenotifications to promote returning attention to the driving task anddiscourage interaction with the user interface, potentially withoutsuspending user input at all. For example, the way notifications arepresented may evolve as successive attention buffer thresholds are met,such as by changing one or more of size, color, volume, amount ofdetail, or amount of information provided. Notifications may change toconvey an increasing sense of urgency as successive attention bufferthresholds are met.

In some examples, certain functionality of attention management module24 described herein may depend on determining a driving state of vehicle2. For instance, attention management module 24 may initially determinewhether vehicle 2 is moving before proceeding with methods describedherein for pacing the vehicle operator's content interaction. Ifattention management module 24 determines that vehicle 2 is moving at aspeed of zero or near zero, attention management module 24 may notreduce a level of an attention buffer in response to detecting userinputs.

Alternatively or additionally, attention management module 24 may selectdifferent rates for depleting the attention buffer depending on thespeed of the vehicle detected. In some examples, attention managementmodule 24 may determine a driving state and/or speed of vehicle 2 basedon indications received from in-vehicle system, and/or from sensors ofvehicle computing system 4 (e.g., physical wheel speed, GPS). Forexample, components of vehicle 2 may detect when vehicle 2 is in a“Park” setting or gear, and attention management module 24 may receivean indication of the setting/gear from the components, such as fromshift components. Attention management module 24 may receive anindication of the driving state of vehicle 2 from a mobile computingdevice. In some examples, attention management module 24 may derive anindication of speed of the vehicle 2 based on data received from sensorsof mobile computing device (e.g., GPS data) that measure speed of themobile computing device. In some examples, vehicle computing system 4may obtain GPS data from a mobile computing device using applicationprogramming interface (API) calls to the mobile computing device or to acentral server where data from the mobile computing device sensors hasbeen stored.

In some examples, attention management module 24 may determine how muchof the display to lock the user out of interacting with, and may onlylock the user out of a portion of the display. As one example, attentionmanagement module 24 may permit a user to continue to view or interactwith a navigation application that the user is currently using forvehicle navigation, while preventing the user from interacting withother portions of the display. In further examples, attention managementmodule 24 may determine particular type of interaction to lock the userout of, and may only prevent the user from interacting with the userinterface in certain ways. For example, attention management module 24may not allow a user to interact by scrolling, but may accept tapinputs. This may allow a user to complete a task before preventingfurther interaction with the user interface.

The techniques of this disclosure may serve to decrease a distractionlevel of a vehicle operator due to interacting with the user interfacewithout simply limiting the vehicle operator to a defined number of userinputs (e.g., display a lockout screen after six taps). The techniquesdescribed herein may also have an effect of encouraging or coachingproper interaction behavior such that the vehicle operator adopts abetter interaction model, resulting in fewer instances of attentionmanagement module 24 suspending the user's interaction with the userinterface and a better overall user experience having more efficientinteraction with the user interface. The techniques described herein mayenable the user to safely interact with larger menu structures whilestill pacing the user appropriately to aid the driver in attending tothe driving task.

In this manner, the techniques of this disclosure may avoid a need foradditional device infrastructure for monitoring the operator's visualglance behavior to predict situational awareness and attention, whichmay be more expensive or less practical. For example, the techniques ofthis disclosure may avoid the need for additional equipment to beinstalled with vehicle computing system 4 to measure the driver (e.g.,eye-tracking or physiological measurement equipment). The techniques ofthis disclosure may further conserve computing resources of vehiclecomputing system 4 by avoiding a need for additional processingresources for processing visual glance behavior monitoring data.Instead, the techniques described herein can make more efficient use ofone or more types of data already collected by the computing system,such as indications of user inputs, vehicle state, or information beingpresented to the user, for example.

In some examples, the techniques of this disclosure may encourage andcoach proper interaction behaviors for drivers. By employing techniquesthat may not limit the user to a fixed number of user inputs foraccessing content, the techniques of this disclosure may enable use ofnew application structures and forms of content to be provided to thedriver, thereby potentially easing software developer requirements,while providing a more responsible experience to the driver. Thetechniques of this disclosure could lead to improved driver interaction,thus making driving safer.

While the operations of attention management module 24 are likely tohelp pace content browsing actions of the operator, a reduction indistraction level cannot be guaranteed. Instead, the model for pacingcontent browsing by attention management module 24 may be determined tohave a likelihood of reducing the operator's distraction level. Forinstance, attention management module 24 may determine that a particularattention buffer model has a high probability of reducing the operator'sdistraction level and improving the amount of attention directed to thedriving task. This probability may be determined based on generalitiesand/or may be specific to the particular operator.

FIG. 2 is a block diagram illustrating an example vehicle computingdevice configured to pace content interaction by a vehicle operator, inaccordance with one or more techniques of this disclosure. Computingsystem 30 may be, for example, a mobile computing device or wearablecomputing device. Examples of mobile computing device 10 may include,but are not limited to, portable devices such as mobile phones(including smart phones), laptop computers, tablet computers, cameras,personal digital assistants (PDAs), etc. In some examples, computingdevice 30 may be a vehicle computing system such as vehicle computingsystem 4 of FIG. 1. Computing system 30 is described below for purposesof example within the context of FIG. 1. FIG. 2 illustrates only oneparticular example of computing device 30, and many other examples ofcomputing device 30 may be used in other instances and may include asubset of the components shown in FIG. 2 or may include additionalcomponents not shown in FIG. 2.

As shown in the example of FIG. 2, computing device 30 includes one ormore input components 34, one or more output components 36, one or morecommunication units 38, and presence-sensitive display 40, and controlunit 18 that include one or more processors 32, and one or more storagedevices 33. Storage devices 33 of control unit 18 may also includeoperator stress module 24, UI module 26, application modules 28, andoperating system 46.

Communication channels 31 may interconnect one or more of the components24, 26, 28, 32, 33, 34, 36, 38, 40, and 46 for inter-componentcommunications (physically, communicatively, and/or operatively). Insome examples, communication channels 31 may include a system bus, anetwork connection, one or more inter-process communication datastructures, or any other components for communicating data betweenhardware and/or software.

As shown in FIG. 2, control unit 18 may store and execute the data andinstructions of one or more applications, modules or other software.Although FIG. 2 illustrates control unit 18 as including one or moreprocessors 218 and one or more storages device 220, control unit 18 mayinclude more or fewer components than shown in FIG. 2. For instance,control unit 18 may include one or more output devices, input devices,input/output ports or interface, sensors and/or communication units toname only a few examples. In other examples, control unit 18 may onlyinclude one or more processors. In any case, control unit 18 may providean operating environment for one or one more modules, such as operatorstress module 24, user-interface (UI) module 26, application modules 28,and operating system 46.

One or more processors 32 may implement functionality and/or executeinstructions within computing device 30. For example, processors 32 ofcontrol unit 18 may receive and execute instructions stored by storagedevices 33 that provide the functionality of operator stress module 24,UI module 26, application modules 28, and operating system 46. Theseinstructions executed by processors 32 may cause computing device 30 tostore and/or modify information, within storage devices 33 duringprogram execution. Processors 32 may execute instructions of operatorstress module 24, UI module 26, application modules 28, and operatingsystem 46 to perform one or more operations. That is, operator stressmodule 24, UI module 26, application modules 28, and operating system 46may be operable by processors 32 to perform various functions describedherein.

One or more input components 34 of computing device 30 may receiveinput. Examples of input are tactile, audio, and video input. In someexamples, input components 34 may include functionality ofpresence-sensitive panel 14 of FIG. 1. Input components 34 of computingdevice 30, for example, may include one or more of a presence-sensitiveinput device (e.g., a touch sensitive screen or pad, apresence-sensitive display), mouse, keyboard, button,rotary-translational knob, thumbpad, d-pad, switch, voice responsivesystem, video camera, microphone or any other type of device fordetecting input from a human or machine. In some examples, inputcomponents 34 may include one or more sensor components one or morelocation sensors (GPS components, Wi-Fi components, cellularcomponents), one or more temperature sensors, one or more movementsensors (e.g., accelerometers, gyros), one or more pressure sensors(e.g., barometer), one or more ambient light sensors, and one or moreother sensors (e.g., microphone, camera, infrared proximity sensor,hygrometer, and the like). Other sensors may include a heart ratesensor, magnetometer, glucose sensor, hygrometer sensor, olfactorysensor, compass sensor, step counter sensor, to name a few othernon-limiting examples.

One or more output devices 36 of computing device 30 may generateoutput. Examples of output are tactile, audio, and video output. In someexamples, output components 36 may include functionality of display 16of FIG. 1. Output devices 36 of computing device 30, in one example,include a presence-sensitive screen, sound card, video graphics adaptercard, speaker, cathode ray tube (CRT) monitor, liquid crystal display(LCD), or any other type of device for generating output to a human ormachine. Output devices 36 may include display devices such as cathoderay tube (CRT) monitor, liquid crystal display (LCD), Light-EmittingDiode (LED) or any other type of device for generating tactile, audio,and/or visual output.

One or more communication units 38 of computing device 30 maycommunicate with external devices by transmitting and/or receiving data.For example, computing device 30 may use communication units 38 totransmit and/or receive radio signals on a radio network such as acellular radio network. In some examples, communication units 38 maytransmit and/or receive satellite signals on a satellite network such asa Global Positioning System (GPS) network or a Global NavigationSatellite System (GLONASS) network. Examples of communication units 38include a network interface card (e.g. such as an Ethernet card), anoptical transceiver, a radio frequency transceiver, a GPS receiver, orany other type of device that can send and/or receive information. Otherexamples of communication units 38 may include Bluetooth®, GPS, 3G, 4G,and Wi-Fi® radios found in mobile devices as well as Universal SerialBus (USB) controllers and the like.

In some examples, presence-sensitive display 40 of computing device 30may include functionality of input components 34 and/or outputcomponents 36. In the example of FIG. 2, presence-sensitive display 40may include a presence-sensitive input component 44, such as apresence-sensitive screen or touch-sensitive screen. In some examples,presence-sensitive input component 44 may detect an object at and/ornear the presence-sensitive input device. As one example range,presence-sensitive input component 44 may detect an object, such as afinger or stylus that is within two inches or less of presence-sensitiveinput component 44. Presence-sensitive input component 44 may determinea location (e.g., an (x,y) coordinate) of the presence-sensitive inputdevice at which the object was detected. In another example range,presence-sensitive input component 44 may detect an object six inches orless from presence-sensitive input component 44 and other ranges arealso possible. Presence-sensitive input component 44 may determine thelocation of presence-sensitive input component 44 selected by a user'sfinger using capacitive, inductive, and/or optical recognitiontechniques.

In some examples, presence-sensitive display 40 may also provide outputto a user using tactile, audio, or video stimuli as described withrespect to output components 36. For instance, presence-sensitivedisplay 40 may include display component 42 that presents a graphicaluser interface. Display component 42 may be any type of output devicethat provides visual output, such as described with respect to outputcomponents 36. Presence-sensitive display 40 may, in some examples, bean external component that shares a data path with other components ofcomputing device 30 for transmitting and/or receiving input and output.For instance, presence-sensitive display 40 may be a built-in componentof a head-unit (such as housing 22 of FIG. 1 that includes control unit18), located within and physically connected to the external packagingof control unit 18. In another example, presence-sensitive display 40may be an external component of control unit 18 located outside andphysically separated from the packaging of control unit 18 (e.g., amonitor, a projector, etc. that shares a wired and/or wireless data pathwith a tablet computer).

One or more storage devices 33 within computing device 30 may storeinformation for processing during operation of computing device 30. Insome examples, one or more of storage devices 33 are temporary memories,meaning that a primary purpose of the one or more storage devices is notlong-term storage. Storage devices 33 on computing device 30 may beconfigured for short-term storage of information as volatile memory andtherefore not retain stored contents if deactivated. Examples ofvolatile memories include random access memories (RAM), dynamic randomaccess memories (DRAM), static random access memories (SRAM), and otherforms of volatile memories known in the art.

Storage devices 33, in some examples, also include one or morecomputer-readable storage media. Storage devices 33 may be configured tostore larger amounts of information than volatile memory. Storagedevices 33 may further be configured for long-term storage ofinformation as non-volatile memory space and retain information afteractivate/off cycles. Examples of non-volatile memories include magnetichard discs, optical discs, flash memories, or forms of electricallyprogrammable memories (EPROM) or electrically erasable and programmable(EEPROM) memories. Storage devices 33 may store program instructionsand/or data associated with operator stress module 24, UI module 26,application modules 28, and operating system 46.

Operating system 46, in some examples, controls the operation ofcomponents of computing device 30. For example, operating system 46, inone example, facilitates the communication of operator stress module 24,UI module 26, and application modules 28 with processors 32, storagedevices 33, input components 34, output components 36, communicationunits 38, presence-sensitive display 40.

Attention management module 24 may include functionality to manage anattention level of an operator of vehicle 2 that the operator directstowards a task of driving vehicle 2 by pacing content browsing oncomputing device 30. As shown in the example of FIG. 2, attentionmanagement module 24 may include vehicle state detection module 47,input detection module 52, and buffer rate module 54. Attentionmanagement module 24 may also maintain attention buffer 50.

For example, input detection module 52 of attention management module 24may be configured to receive indications of user inputs received by oneor more of input components 34, 44 and pace the operator's contentinteraction by controlling based on the received user inputs whetherinput components 34, 44 are operable by the operator. The user inputsmay include, for example, tactile, audio, or video inputs such as touchinputs, voice commands, and/or non-touch gesture commands provided by auser. For example, input detection module 52 may receive indications ofuser inputs from presence-sensitive input component 44, in addition oralternative to receiving indications of user inputs such as voicecommands detected by a microphone or non-touch gesture commands detectedby a video camera. In some examples, input detection module 52 receivesindications of inputs from one or more various input components havingdifferent input modalities, such as different tactile input modalities(e.g., touch screen, touch pads, steering wheel controls (e.g., buttons,thumb pads), rotary knobs with translation), voice commands, non-touchgesture commands, for example. The input components may includecomponents of both computing device 30, mechanical input components ofvehicle 2, or a separate in-vehicle navigation system. In some examples,buffer rate module 54 may apply different buffer depletion ratesdepending on the input modality. In some examples, input detectionmodule 52 may include a voice command processing component that detectsand processes voice command user inputs. In some examples, inputdetection module 52 may include a gesture command processing componentthat detects and processes non-touch gesture command user inputs.

Attention buffer 50 may be a data structure or set of data structures.In some examples, Attention buffer 50 may be locally stored on computingdevice 30 by attention management module 48. In some examples, attentionbuffer 50 may be stored at a remote site (e.g., a server devicephysically separate from computing device 30). Attention managementmodule 24 may also store various configurable threshold values for userwith attention buffer 50. For example, attention management module 48may store a threshold value for attention buffer 50 that when reached,causes attention management module 48 to block further interaction withthe user interface. In some cases, this threshold value may be a valueindicating that attention buffer 50 is empty. As another example,attention management module 48 may store a threshold value for attentionbuffer 50 that when reached, causes attention management module 48 toallow interaction with the user interface. In some cases, this thresholdvalue may be a value indicating that attention buffer 50 is full. Insome examples, attention management module 48 may store data associatingrates for decreasing or increasing attention buffer as a function ofnumber of user inputs, frequency of user inputs, and/or other factors,as described in further detail herein.

Input detection module 52 may detect a frequency of user inputs, and maytreat a group of successive user inputs having a high frequency as asingle user input, such that the buffer model effectively associates thegroup of successive user inputs with a single expected visual glance.The frequency of user inputs may be an input-to-input frequency (basedon an amount of time between user inputs).

For example, buffer rate module 54 of attention management module 48 maybe configured to select a rate or amount for decreasing a level of theattention buffer 50 based on the type of user input made. This may bebecause different types of user inputs have different expected visualglance behavior associated with them. In response to input detectionmodule 52 detecting a user input, buffer rate module 54 may determine atype of the user input, and select a rate at which to deplete a level ofattention buffer 50 based on the determined type of the user input. Forexample, buffer rate module 54 may reference a data structure storing anassociation between types of user inputs and corresponding bufferdepletion rates or amounts. Example types of user inputs that inputdetection module 52 may detect include, for example, one or more ofvoice commands, gesture commands, pad inputs (e.g., via a touchpad,thumbpad, d-pad, etc.), knob inputs, tap inputs, swipe inputs, slowscroll inputs, fast scroll inputs, quick successive taps that aregrouped as a single user input, and quick successive swipes that aregrouped as a single user input.

As one example, buffer rate module 54 may select a lower bufferdepletion rate in response to input detection module 52 determining thatreceived user inputs are a group of quick successive swipes. Quicksuccessive swipes may indicate that the user is swiping to try to get toa destination view and is not looking at the user interface until theswipes slow down after arriving at the bottom. As another example,buffer rate module 54 may select a lower buffer depletion rate inresponse to input detection module 52 determining that received userinputs are a group of quick successive taps. In some examples, inputdetection module 52 may detect a user input that invokes a tap-to-scrollfunction, and may treat this type of user input differently than asimple tap user input, based on how this user input correlates toexpected glance behavior. For example, buffer rate module 54 maydecrease attention buffer 50 at a lower rate in response to detectingtap-to-scroll user input than in response to detecting a tap input.

As another example, attention management module 48 may be configured toselect a rate or amount for decreasing a level of the attention buffer50 based on what is being displayed to the driver. For example, one ormore of an amount of information or a type of information beingdisplayed can be configured to impact a buffer depletion rate selectedby attention management module 48. For example, attention managementmodule 48 may determine an information quantity and/or quality metricassociated with the information presented to the driver, and buffer ratemodule may select a buffer depletion rate based on the informationquantity and/or quality metric. This may reflect that the displayformat, amount of information, or type of information may each relate tothe complexity of the secondary task being performed by the user andaffect how much attention is being devoted to the secondary task insteadof the driving task. That is, the more dense the information presentedto the user, the longer the expected visual glance behavior is expectedto be for the user to review the information.

As a further example, attention management module 48 may be configuredto select a rate or amount for decreasing a level of the attentionbuffer based on received information regarding driving state of vehicle2. Driving state may include, for example whether vehicle 2 isparked/driving, a speed of vehicle 2, and environmental conditions thatmay impact driving such as weather or traffic. For example, vehiclestate detection module 47 may detect a driving state of vehicle 2.Driving state may include a speed at which vehicle 2 is moving(including whether vehicle 2 is moving or stationary), a gear thatvehicle 2 is in (e.g., whether vehicle 2 is in a “park” or a “drive”gear). Vehicle state detection module 47 can detect the driving state ofvehicle 2 based on, for example, one or more of indications of drivingstate received from sensors of computing device 30, indications ofdriving state received from a vehicle computing device integrated withinvehicle 2, indications of driving state received from other applications28, and indications of driving state received from sensors associatedwith components of vehicle 2.

Vehicle state detection module 47 may provide real-time informationabout the driving state of vehicle 2 to buffer rate module 54. Bufferrate module 54 may alternatively or additionally base selection of arate at which to deplete attention buffer 50 based on the informationabout the driving state of vehicle 2 from vehicle state detection module47, in some examples. For example, in response to input detection module52 detecting a user input, buffer rate module 54 may select a rate atwhich to deplete attention buffer based on at least a type of the userinput and a detected state of vehicle 2 (e.g., a speed at which vehicle2 is moving). In another example, in response to input detection module52 detecting a user input, buffer rate module 54 may select a rate atwhich to deplete attention buffer based on at least a rate of userinputs and a detected state of vehicle 2 (e.g., a speed at which vehicle2 is moving, or a safety system of vehicle 2 in a warning state, such asa lane departure warning).

In another example, in response to input detection module 52 detecting auser input, buffer rate module 54 may alternatively or additionallyselect the rate based in part on information regarding drivingconditions (e.g., deplete more quickly in inclement weather, depletemore slowly in calm weather). In some examples, buffer rate module 54may select the rate based in part on information regarding an amount ofattention that is needed to navigate a particular geographic area. Forexample, buffer rate module 54 may select a higher rate in response todetermining the vehicle 2 is in a geographic area designated as “urban”and a lower rate in response to determining the vehicle 2 is in ageographic area designated as “rural.” As another example, buffer ratemodule 54 may select a higher rate in response to determining thevehicle 2 is navigating a complex intersection, or a roadway underconstruction. In general, buffer rate module 54 may associate a higherrate of attention buffer depletion with driving state expected torequire more attention to the driving task. In some examples, vehiclestate detection module 47 may obtain the information regarding drivingconditions from one or more other application modules 28, for examplefrom a weather application, a traffic application, and/or a mapsapplication. In some examples, vehicle state detection module 47 mayobtain information regarding driving conditions from sensors ofcomputing device 30. Vehicle state detection module 47 may determinethat vehicle 2 is within a map area indicated as dangerous, difficult,or hazardous, e.g., based on communication with a maps application.

In some examples, buffer rate module 54 may determine a level of riskassociated with a driver based on assessing one or more risk factors,e.g., demographic factors, detected driver behavior, and whether thedriver engages with the user interface during driving situations thatare expected to require more attention to the driving task. Ifdemographic information may be used to determine a level of risk, it maybe based on aggregated demographic information for groups of users.Buffer rate module 54 may correlate data received from input detectionmodule 52 and data received from vehicle state detection module 47,e.g., based on time stamps, and may modify a rate of depleting attentionbuffer 50 based on determining a driver often engages with the userinterface during driving situations that are expected to require moreattention to the driving task. Buffer rate module 54 may determinedriver behavior based on, for example, one or more of accelerometerdata, detected hard braking, frequent braking, swerving, driving inexcess of a speed limit, and number or frequency of speed bumpoccurrences. In some examples, buffer rate module 54 may employ anadaptive model and/or machine learning techniques to evaluate a driver'suser interface interactions and driving behavior, assess driver risk,and modify an attention buffer depletion rate based on determined driverrisk.

In some examples, buffer rate module 54 may not deplete attention bufferunless vehicle state detection module 47 indicates that vehicle 2 ismoving. In some examples, buffer rate module 54 may not depleteattention buffer if vehicle state detection module 47 indicates thatvehicle 2 is in a “Park” mode. In some examples, rather than buffer ratemodule 54 refraining from depleting the attention buffer, instead bufferrate module 54 may continue to deplete attention buffer 50 but maymodify one or more buffer thresholds while vehicle state detectionmodule 47 indicates that vehicle 2 is in a “Park” mode or vehicle 2 isnot moving. These approaches may avoid unnecessary pacing of the vehicleoperator if the operator is not actually driving while interacting withcomputing device 30.

In some examples, attention management module 48 may detect a sourcelocation in the vehicle at which the user inputs are received (beinginput by a user), and may adjust attention buffer 50 only in response todetermining the user inputs are detected at an input componentaccessible to the vehicle operator. If attention management module 48determines the user inputs are coming from a different source locationwithin the car, such as a passenger seat or rear seat entertainmentconsole interface, attention management module 48 may not adjustattention buffer 50 in response to detecting these user inputs, butinstead disregards these user inputs for purposes of determining a rateof buffer depletion. As one example, attention management module 48 mayoutput for display a query of “Are you a passenger?” and not adjustattention buffer 50 as described herein to pace content interaction if a“yes” response is received.

In response to determining that attention buffer 50 is empty or a levelof attention buffer 50 has increased below a predefined threshold,attention management module 48 may block interaction with a userinterface of computing device 30. For example, attention managementmodule 48 may output an indication that interaction with the userinterface is suspended. The indication may cause UI module 26 to providea notification, such as via one of output components 36 and/or displaycomponent 42. The notification may be one or more of audible, tactile,and visual, for example. The indication may cause UI module 26 to changea presentation of the user interface such that the user cannot continueinteracting with the user interface while the presentation is changed.For example, UI module 26 may cause display component 42 to change howinformation is displayed by display component 42. For example, displaycomponent 42 may make one or more user interface elements (such as amenu structure) semi-transparent or greyed-out. Display component 42 mayuse these or other display changes to indicate that the user interfaceelements are non-functional, and may not change the user interfaceelements in response to input detection module 52 detecting furtherinputs during the blocking period.

Attention management module 48 may cause output of one or morenotifications based on the state of attention buffer 50. In someexamples, UI module 26 may cause display component 42 to overlay anotification. For example, display component 42 may display anotification such as message of “For safety, browsing is paused for Xseconds,” where X may be a configurable value. In some examples, displaycomponent 42 may output a visual representation such as a countdowntimer or a clock showing how much time is left until user interaction isallowed. In some examples, output component 36 may output an audiblenotification indicating an amount of time remaining in the userinterface interaction blocking. In some examples, after the buffer levelis sufficiently high, attention management module 48 may cause outputcomponent 36 to output an audible notification indicating interaction isagain allowed. In some examples, attention management module 48 maycause output component 36 to display an educational component as theuser is depleting attention buffer 50. For example, attention managementmodule 48 may cause output component 36 to communicate the state ofattention buffer 50 in real-time (e.g., visually or audibly), toencourage the user to proactively interact with the user interface at areasonable rate to avoid emptying attention buffer 50. In some examples,attention management module 48 may simply output a notification (e.g., aself-expiring “toast” notification), e.g., requesting the user to pauseinteraction, without actually blocking interaction with the userinterface.

Attention management module 48 may refill attention buffer 50 if no userinputs are detected for a predefined time period. Attention managementmodule 48 may use various buffer refill rates. In some examples,Attention management module 48 may use different buffer refill ratesdepending on factors, such as amount or type of information beingdisplayed to the user, driving state, and other factors.

Attention management module 48 may allow interaction with the userinterface after determining attention buffer 50 is a predefined percentof full. For example, attention management module 48 may, in response todetermining that a level of the attention buffer has increased frombelow the second threshold to above the second threshold, output anindication that interaction with the user interface is no longersuspended. The indication may cause UI module 26 to provide anotification, such as via one of output components 36. The notificationmay be one or more of audible, tactile, and visual, for example.

FIG. 3 is a block diagram illustrating an example computing device thatoutputs graphical content for display at a remote device, in accordancewith one or more techniques of the present disclosure. Graphicalcontent, generally, may include any visual information that may beoutput for display, such as text, images, or a group of moving images,to name only a few examples. The example shown in FIG. 3 includes acomputing device 310, a PSD 312, communication unit 342, projector 380,projector screen 382, mobile device 386, and visual display component390. In some examples, PSD 312 may be a presence-sensitive display asdescribed in FIGS. 1-2. Although shown for purposes of example in FIGS.1 and 2 as a stand-alone control unit 18, a computing device such ascontrol unit 310 may, generally, be any component or system thatincludes a processor or other suitable computing environment forexecuting software instructions and, for example, need not include apresence-sensitive display.

As shown in the example of FIG. 3, control unit 310 may be a processorthat includes functionality as described with respect to processors 240in FIG. 2. In such examples, control unit 310 may be operatively coupledto PSD 312 by a communication channel 362A, which may be a system bus orother suitable connection. Control unit 310 may also be operativelycoupled to communication unit 342, further described below, by acommunication channel 362B, which may also be a system bus or othersuitable connection. Although shown separately as an example in FIG. 3,control unit 310 may be operatively coupled to PSD 312 and communicationunit 342 by any number of one or more communication channels.

In other examples, such as illustrated previously by computing device110 in FIGS. 1A-1E or computing device 210 in FIG. 2, a computing devicemay refer to a portable or mobile device such as mobile phones(including smart phones), laptop computers, etc. In some examples, acomputing device may be a desktop computer, tablet computer, smarttelevision platform, camera, personal digital assistant (PDA), server,or mainframes.

PSD 312 may include display component 302 and presence-sensitive inputcomponent 304. Display component 302 may, for example, receive data fromcontrol unit 310 and display the graphical content. In some examples,presence-sensitive input component 304 may determine one or more userinputs (e.g., continuous gestures, multi-touch gestures, single-touchgestures) at PSD 312 using capacitive, inductive, and/or opticalrecognition techniques and send indications of such user input tocontrol unit 310 using communication channel 362A. In some examples,presence-sensitive input component 304 may be physically positioned ontop of display component 302 such that, when a user positions an inputunit over a graphical element displayed by display component 302, thelocation at which presence-sensitive input component 304 corresponds tothe location of display component 302 at which the graphical element isdisplayed.

As shown in FIG. 3, control unit 310 may also include and/or beoperatively coupled with communication unit 342. Communication unit 342may include functionality of communication unit 242 as described in FIG.2. Examples of communication unit 342 may include a network interfacecard, an Ethernet card, an optical transceiver, a radio frequencytransceiver, or any other type of device that can send and receiveinformation. Other examples of such communication units may includeBluetooth, 3G, and Wi-Fi radios, Universal Serial Bus (USB) interfaces,etc. Control unit 310 may also include and/or be operatively coupledwith one or more other devices (e.g., input devices, output components,memory, storage devices) that are not shown in FIG. 3 for purposes ofbrevity and illustration.

FIG. 3 also illustrates a projector 380 and projector screen 382. Othersuch examples of projection devices may include electronic whiteboards,holographic display components, heads-up display, head-mounted display,and any other suitable devices for displaying graphical content.Projector 380 and projector screen 382 may include one or morecommunication units that enable the respective devices to communicatewith control unit 310. In some examples, the one or more communicationunits may enable communication between projector 380 and projectorscreen 382. Projector 380 may receive data from control unit 310 thatincludes graphical content. Projector 380, in response to receiving thedata, may project the graphical content onto projector screen 382. Insome examples, projector 380 may determine one or more user inputs(e.g., continuous gestures, multi-touch gestures, single-touch gestures)at projector screen using optical recognition or other suitabletechniques and send indications of such user input using one or morecommunication units to control unit 310. In such examples, projectorscreen 382 may be unnecessary, and projector 380 may project graphicalcontent on any suitable medium and detect one or more user inputs usingoptical recognition or other such suitable techniques.

Projector screen 382, in some examples, may include a presence-sensitivedisplay 484. Presence-sensitive display 384 may include a subset offunctionality or all of the functionality of presence-sensitive display40 and/or 312 as described in this disclosure. In some examples,presence-sensitive display 384 may include additional functionality.Projector screen 382 (e.g., an electronic whiteboard, heads-up displayscreen, or other type of screen), may receive data from control unit 310and display the graphical content. In some examples, presence-sensitivedisplay 384 may determine one or more user inputs (e.g., continuousgestures, multi-touch gestures, single-touch gestures) at projectorscreen 382 using capacitive, inductive, and/or optical recognitiontechniques and send indications of such user input using one or morecommunication units to control unit 310. In some examples, control unit310 may correspond to control unit 18 of FIG. 2.

FIG. 3 also illustrates mobile device 386 and visual display component390. Mobile device 386 and visual display component 390 may each includecomputing and connectivity capabilities. Examples of mobile device 386may include e-reader devices, convertible notebook devices, hybrid slatedevices, etc. Examples of visual display component 390 may include otherdevices such as televisions, computer monitors, etc. In some examples,visual display component 390 may be a vehicle cockpit display ornavigation display (e.g., in an automobile, aircraft, or some othervehicle). In some examples, visual display component 390 may be a homeautomation display or some other type of display that is separate fromcontrol unit 310.

As shown in FIG. 3, mobile device 386 may include a presence-sensitivedisplay 388. Visual display component 390 may include apresence-sensitive display 392. Presence-sensitive displays 388, 392 mayinclude a subset of functionality or all of the functionality ofpresence-sensitive display 16, 40, and/or 312 as described in thisdisclosure. In some examples, presence-sensitive displays 388, 392 mayinclude additional functionality. In any case, presence-sensitivedisplay 392, for example, may receive data from control unit 310 anddisplay the graphical content. In some examples, presence-sensitivedisplay 392 may determine one or more user inputs (e.g., continuousgestures, multi-touch gestures, single-touch gestures) at projectorscreen using capacitive, inductive, and/or optical recognitiontechniques and send indications of such user input using one or morecommunication units to control unit 310.

As described above, in some examples, control unit 310 may outputgraphical content for display at PSD 312 that is coupled to control unit310 by a system bus or other suitable communication channel. Controlunit 310 may also output graphical content for display at one or moreremote devices, such as projector 380, projector screen 382, mobiledevice 386, and visual display component 390. For instance, control unit310 may execute one or more instructions to generate and/or modifygraphical content in accordance with techniques of the presentdisclosure. Control unit 310 may output the data that includes thegraphical content to a communication unit of control unit 310, such ascommunication unit 342. Communication unit 342 may send the data to oneor more of the remote devices, such as projector 380, projector screen382, mobile device 386, and/or visual display component 390. In thisway, control unit 310 may output the graphical content for display atone or more of the remote devices. In some examples, one or more of theremote devices may output the graphical content at a presence-sensitivedisplay that is included in and/or operatively coupled to the respectiveremote devices.

In some examples, control unit 310 may not output graphical content atPSD 312 that is operatively coupled to control unit 310. In otherexamples, control unit 310 may output graphical content for display atboth a PSD 312 that is coupled to control unit 310 by communicationchannel 362A, and at one or more remote devices. In such examples, thegraphical content may be displayed substantially contemporaneously ateach respective device. For instance, some delay may be introduced bythe communication latency to send the data that includes the graphicalcontent to the remote device. In some examples, graphical contentgenerated by control unit 310 and output for display at PSD 312 may bedifferent than graphical content display output for display at one ormore remote devices.

Control unit 310 may send and receive data using any suitablecommunication techniques. For example, control unit 310 may beoperatively coupled to external network 374 using network link 373A.Each of the remote devices illustrated in FIG. 3 may be operativelycoupled to network external network 374 by one of respective networklinks 373B, 373C, or 373D. External network 374 may include networkhubs, network switches, network routers, etc., that are operativelyinter-coupled thereby providing for the exchange of information betweencontrol unit 310 and the remote devices illustrated in FIG. 3. In someexamples, network links 373A-373D may be Ethernet, ATM or other networkconnections. Such connections may be wireless and/or wired connections.

In some examples, control unit 310 may be operatively coupled to one ormore of the remote devices included in FIG. 3 using direct devicecommunication 378. Direct device communication 378 may includecommunications through which control unit 310 sends and receives datadirectly with a remote device, using wired or wireless communication.That is, in some examples of direct device communication 378, data sentby control unit 310 may not be forwarded by one or more additionaldevices before being received at the remote device, and vice-versa.Examples of direct device communication 378 may include Bluetooth,Near-Field Communication, Universal Serial Bus, Wi-Fi, infrared, etc.One or more of the remote devices illustrated in FIG. 3 may beoperatively coupled with control unit 310 by communication links376A-376D. In some examples, communication links 376A-376D may beconnections using Bluetooth, Near-Field Communication, Universal SerialBus, infrared, etc. Such connections may be wireless and/or wiredconnections.

Control unit 310 may be operatively coupled to visual display component390 using external network 374. Control unit 310 may output a graphicaluser interface for display at PSD 312. For instance, control unit 310may send data that includes a representation of the graphical userinterface to communication unit 342. Communication unit 342 may send thedata that includes the representation of the graphical user interface tovisual display component 390 using external network 374. Visual displaycomponent 390, in response to receiving the data using external network374, may cause PSD 392 to output the graphical user interface. Inresponse to receiving a user input at PSD 392 to select one or morebuttons of the graphical user interface, visual display component 390may send an indication of the user input to control unit 310 usingexternal network 374. Communication unit 342 of may receive theindication of the user input, and send the indication to control unit310.

In some examples, PSD 312 may be part of an infotainment unit of avehicle, such as vehicle 2, and control unit 310 may be one or moreprocessors of a mobile computing device. For example, control unit 310may have an attention management module such as attention managementmodule 48 of FIG. 2, which may perform one or more actions as describedherein based on indications of user inputs that control unit 310receives from PSD 312 of the vehicle infotainment unit, wherepresence-sensitive input component 304 of presence-sensitive display 312detects the user inputs. Control unit 310 of the mobile computing devicemay output for display by display component 302 of the infotainment unita notification that further interaction with presence-sensitive display312 is blocked, in response to the attention management moduledetermining that the attention buffer has been depleted based on theuser inputs.

FIG. 4 is a block diagram illustrating example operation of an exampleattention model in blocking interaction with a user interface. Theexample attention model shows effect of user inputs on attention buffer50 over time. Buffer levels in FIG. 4 are shown for purposes of example,and are not necessarily to scale. The user inputs may be received bypresence-sensitive display 30 of computing device 30.

At a first time, attention buffer 50 is full. In response to receivingfirst and second user inputs, input detection module 52 depletesattention buffer 50 due to the user inputs, reflecting that the user'sattention is on the interface of computing device 30 rather than thedriving activity. When input detection module 52 determines that no userinputs have been received for some time period, indicating that theuser's attention is on the driving activity, input detection module 52partially restores credits to attention buffer 50, e.g., at a definedrate.

In response to input detection module 52 detecting multiple successiveinputs during a time period (e.g., 5 inputs), indicating that anexcessive amount of attention is on the interface rather than thedriving task, input detection module 52 successively decreases the levelof attention buffer 50 until attention buffer 50 is depleted (has avalue/level of zero). In response to attention management module 48(e.g., more specifically, input detection module 52) determining thatattention buffer 50 has dropped below a predefined threshold level(e.g., zero credits), attention management module 48 may output fordisplay a notification or otherwise block the operator from interactingwith a user interface of computing device 30, such as presence-sensitivedisplay 40. This may serve to direct the user's attention back todriving, until the buffer is restored to a specified state.

FIG. 5 is a block diagram illustrating an example attention model inpacing content interaction with the user interface. Buffer levels inFIG. 5 are shown for purposes of example, and are not necessarily toscale. In the example of FIG. 5, attention management module 48 detectsuser inputs infrequently enough to avoid depleting the attention buffer50, and attention management module 48 does not block interaction withthe user interface or output a notification.

In some examples, attention buffer module 48 reduces the buffer by a setamount in response to every detected user input. Time elapsing betweentaps causes attention buffer module 48 reduces the buffer by a setamount to build up the buffer. Thus, if a user interacts at an expeditedpace, then the user may encounter blocking or preventing furtherinteraction with the user interface. But if a user interacts at a moreresponsible pace, then more user inputs are available and the blockingis not seen as frequently. Although FIGS. 4 and 5 are described forpurposes of example in terms of reducing a level of an attention bufferas user inputs are detected and increasing the level of the attentionbuffer as user inputs are not detected, in other examples differentmodels may be used. For example, an “interaction intensity” attentionbuffer model may be used, and attention buffer module 48 may increase alevel of the interaction intensity attention buffer as user inputs aredetected. When the interaction intensity attention buffer exceeds afirst threshold, interaction may be blocked or attention buffer module48 may trigger notifications to discourage interaction until theinteraction intensity attention buffer is below a second threshold.

FIG. 6 is a flow diagram illustrating example operation of a computingdevice to pace content interaction by a vehicle operator, in accordancewith one or more techniques of the present disclosure. The techniques ofFIG. 6 may be performed by one or more processors of a computing system,such as vehicle computing system 4 illustrated in FIG. 1, computingdevice 30 of FIG. 2, and control unit 310 of FIG. 3. For purposes ofillustration, the techniques of FIG. 6 are described within the contextof vehicle computing device 4 of FIG. 1 and computing device 30 of FIG.2, although computing systems having configurations different than thatof vehicle computing system 4 may perform the techniques of FIG. 6.

A vehicle, such as vehicle 2 of FIG. 1, which includes vehicle computingsystem 4 may be used for a variety of activities, such as commuting,running errands, etc. While the vehicle is being used, vehicle computingsystem 4 may receive, by one or more processors of vehicle computingsystem 4, an indication of a first user input (500). For example, thefirst user input may be, for example, any of a tap input, a swipe input,a slow scroll input, a fast scroll input, a voice command, and anon-touch gesture command. For example, input detection module 52 ofattention management module 48 may detect the first user input, such asby receiving an indication of the first user input frompresence-sensitive input component 44 by which the user made the userinput. For example, receiving the indication of the user input mayinclude receiving the indication from a computing device such as amobile computing device of the operator. For example, receiving theindication of the user input may include receiving the indication from avehicle computing system integrated within the vehicle and separate froma computing device having attention management module 48. Responsive toreceiving the indication of the first user input, the one or moreprocessors adjusts a level of an attention buffer at a defined rate(502). For example, buffer rate module 54 may determine a rate at whichto adjust the level of attention buffer 50 based on one or more of atype of the user input, a frequency of user inputs (e.g., based on theuser input and earlier user input(s)), a type of information displayedin response to the user input, and amount of information displayed inresponse to the user input, a format of information displayed inresponse to the user input, or information regarding vehicle state. Theinformation regarding vehicle state may be obtained by vehicle statedetection module 47, as described above. Attention management module 48may adjust the level of attention buffer 50 by reducing or increasingthe level of attention buffer 50, depending on whether attention buffer50 reflects an amount of available attention or interaction intensity inthe attention model.

Responsive to determining that the level of the attention buffersatisfies a first threshold (YES branch of 508), attention managementmodule 48 outputs a notification to discourage interaction with a userinterface of vehicle computing system 4 (510). If the level of theattention buffer does not satisfy the first threshold (NO branch of508), attention management module 48 allows interaction with the userinterface (520). Responsive to determining that the level of theattention buffer satisfies a third threshold (YES branch of 512), theone or more processors blocks interaction with a user interface ofvehicle computing system 4 (514). The first threshold may be aconfigurable value stored by storage devices 33 and accessed byattention management module 48. For example, attention management module48 may freeze a display and/or darken the display and make no changes tothe display in response to receiving indication of detecting subsequentuser inputs. In some examples, attention management module 48 may outputa notification indicating interaction with the user interface has becomeexcessive, or is blocked (paused), such as a tactile notification,audible notification, or display notification (e.g., display a message,graphic, or by changing the look of the user interface). In someexamples, attention management module 48 may provide an indication of anamount of time remaining in the blocked state.

Responsive to input detection module 52 determining that an indicationof a second user input has not been received within a time period (NObranch of 504), attention management module 48 adjusts, by the one ormore processors, a level of the attention buffer in a first direction(516). If input detection module 52 determines that an indication of asecond user input is received within the time period (YES branch of504), attention management module 48 may adjust the level of theattention buffer in a second direction at a defined rate in response(506). For example, attention management module 48 may increase thelevel of the attention buffer if no indication of a second user input isdetected, or may decrease the level of the attention buffer if a seconduser input is detected. The second user input may be a different type ofuser input than the first user input. Responsive to determining, by theone or more processors, that the level of the attention buffer satisfiessecond threshold (YES branch of 518) (e.g., is above a secondthreshold), attention management module 48 allows interaction with theuser interface (520). The second threshold may be a different value thanthe first threshold, e.g., a higher value. For example, determining theattention buffer satisfies the first threshold may include determiningthe attention buffer is empty. Determining the attention buffersatisfies the second threshold may include determining that theattention buffer is full, for example. In some examples, responsive todetermining the attention buffer satisfies the second threshold,attention management module 48 may output an indication that interactionwith the user interface may resume, such as an auditory cue.

If the level of the attention buffer does not satisfy the secondthreshold (NO branch of 518), attention management module 48 may outputa notification to discourage interaction with the user interface (510)and may eventually block interaction with the user interface (514).Attention management module 48 may output for display a notificationregarding the blocked interaction. In some examples, attentionmanagement module 48 may output notifications to discourage interactionwith the user interface (e.g., increasing in prominence as successivethresholds are met), without ever actually blocking interaction with theuser interface. In other examples, attention management module 48 maynot output notifications to discourage interaction with the userinterface, but may proceed directly to blocking interaction with theuser interface. Steps 508, 510, 512, and 514 are therefore shown indashed lines to indicate that one or more of these steps may be optionalin some examples.

FIG. 7 is a flow diagram illustrating another example operation of acomputing device to pace content interaction by a vehicle operator, inaccordance with one or more techniques of the present disclosure. Thetechniques of FIG. 7 may be performed by one or more processors of acomputing system, such as vehicle computing system 4 illustrated in FIG.1, computing device 30 of FIG. 2, and control unit 310 of FIG. 3. Forpurposes of illustration, the techniques of FIG. 7 are described withinthe context of vehicle computing device 4 of FIG. 1 and computing device30 of FIG. 2, although computing systems having configurations differentthan that of vehicle computing system 4 may perform the techniques ofFIG. 7.

One or more processors of a computing device included in a vehicle maydetermine a metric of information output for display by the computingdevice (600). For example, attention management module 48 may determineone or more of an amount of information output for display, a rate ofinformation output for display (e.g., number of user inputs per unittime), a type of information displayed (e.g., text, icons, pictures),number of information items displayed (e.g., number of icons displayedat one time), quantity of information displayed, quality of informationdisplayed, and a format of information output for display. Attentionmanagement module 48 may determine the metric of information output fordisplay before or after the information is displayed. In some examples,the information is output for display by vehicle computing system 4 orcomputing device 30 in response to receiving an indication of one ormore user inputs, such as any user inputs described herein.

Responsive to determining that the metric of information output fordisplay is above a threshold metric (YES branch of 602), the one or moreprocessors, reduces a level of an attention buffer stored by thecomputing device (604). For example, attention management module 48 maystore the threshold metric value, which may be configurable. Attentionmanagement module 48 may determine that the metric of information outputfor display (e.g., rate of information) is above the threshold. Bufferrate module 54 of attention management module 48 may, in some examples,select a rate at which to decrease the level of attention buffer 50based on a type of the metric of information, where the types may be anyof the types of metric mentioned above. In some examples, buffer ratemodule 54 may additionally or alternatively select the rate based ondriving state, as described herein. In some examples, buffer rate module54 may additionally or alternatively select the rate based on a type ofthe user input that prompted the display of information, as describedherein. Responsive to determining that the metric of information outputfor display is not above the threshold rate (NO branch of 602), the oneor more processors increases a level of the attention buffer (606).

Responsive to determining that the level of the attention buffer hasfallen below a threshold (e.g., a first attention buffer threshold)(608), the one or more processors (e.g., attention management module 48)outputs one or more notifications to discourage interaction with theuser interface (610). In some examples, the one or more processorsoutputs one or more notifications indicating that too much interactionis occurring, without blocking interaction with the user interface. Insome examples, attention management module 48 outputs an indication thatinteraction with a user interface is suspended, as described herein.Responsive to determining, by the one or more processors, that the levelof the attention buffer satisfies the threshold (e.g., is above adifferent, second attention buffer threshold) (NO branch of 608), theone or more processors allows interaction with the user interface (612).In some examples, the first attention buffer threshold and the secondattention buffer threshold are the same threshold value. In otherexamples, the first attention buffer threshold is lower than the secondattention buffer threshold. For example, the first attention bufferthreshold may correspond to attention buffer 50 being “empty” and thesecond attention buffer threshold may correspond to attention buffer 50being “full.” Computing device 30 may continue to pass through thestates of FIG. 14, such that after preventing further interaction withthe user interface at step 610, attention management module 48 maysubsequently allow interaction with the user interface in response todetermining that the attention buffer 50 has been restored.

Although FIGS. 4 and 5 are described for purposes of example in terms ofreducing a level of an attention buffer as user inputs are detected andincreasing the level of the attention buffer as user inputs are notdetected, in other examples different models may be used. For example,an “interaction intensity” attention buffer model may be used, andattention buffer module 48 may increase a level of the interactionintensity attention buffer as user inputs are detected. When theinteraction intensity attention buffer exceeds a first threshold,interaction may be blocked or attention buffer module 48 may triggernotifications to discourage interaction until the interaction intensityattention buffer is below a second threshold.

The following numbered examples may illustrate one or more aspects ofthe disclosure:

Example 1

A method for pacing content interaction of a vehicle operator, themethod comprising: receiving, by one or more processors of a computingdevice, an indication of a first user input; responsive to receiving theindication of the first user input, adjusting, by the one or moreprocessors, a level of an attention buffer at a defined rate; responsiveto determining that the level of the attention buffer satisfies a firstthreshold, preventing, by the one or more processors, furtherinteraction with a user interface of the computing device; responsive todetermining that an indication of a second user input has not beenreceived within a time period, adjusting, by the one or more processors,a level of the attention buffer; and responsive to determining, by theone or more processors, that the level of the attention buffer satisfiesa second threshold, allowing further interaction with the userinterface.

Example 2

The method of example 1, further comprising: determining a type of thefirst user input; and selecting, based on the type of the first userinput, the defined rate at which to adjust the level of the attentionbuffer.

Example 3

The method of example 2, wherein the type of the first user input isselected from the group consisting of: a tap input, a swipe input, ascroll input, a pad input, a knob input, a voice command, and anon-touch gesture command.

Example 4

The method of any combination of examples 1-3, further comprising:determining, based on one or more of a format of information displayed,a number of information items displayed, a quantity of informationdisplayed, and a quality of information displayed, an amount ofinformation output for display in response to the first user input; andselecting the defined rate at which to adjust the level of the attentionbuffer based on one or more of the format of information displayed,number of information items displayed, quantity of informationdisplayed, and quality of information displayed.

Example 5

The method of any combination of examples 1-4, further comprising: inresponse to determining, by the one or more processors, that the levelof the attention buffer satisfies the second threshold, outputting anindication that interaction with the user interface is no longersuspended.

Example 6

The method of any combination of examples 1-5, further comprising:determining whether the vehicle is moving, wherein preventing furtherinteraction with the user interface comprises preventing furtherinteraction responsive to determining that the vehicle is moving.

Example 7

The method of any combination of examples 1-6, wherein receiving theindication of the user input comprises receiving the indication from apresence-sensitive input component.

Example 8

The method of any combination of examples 1-7, further comprising: inresponse to determining, by the one or more processors, that the levelof the attention buffer is above the second threshold, providing anaudio cue to indicate that further interaction with the user interfaceis allowed.

Example 9

A computing device comprising: one or more audio output components; andone or more processors configured to perform the method of anycombination of examples 1-8.

Example 10

A computer-readable storage medium storing instructions that, whenexecuted, cause one or more processors of an in-vehicle computing systemto perform the method of any combination of examples 1-8.

Example 11

A computing device comprising means for performing the method of anycombination of examples 1-8.

Example 12

A method for pacing content browsing of a vehicle operator, the methodcomprising: determining, by one or more processors of a computing deviceincluded in a vehicle, a rate of information output for display by thecomputing device; responsive to determining that the rate of informationoutput for display satisfies a threshold rate, adjusting, by the one ormore processors, a level of an attention buffer stored by the computingdevice; responsive to determining that the rate of information outputfor display does not satisfy the threshold rate, adjusting, by the oneor more processors, a level of the attention buffer; responsive todetermining that the level of the attention buffer satisfies a firstattention buffer threshold, outputting, by the one or more processors,an indication that interaction with a user interface is suspended; andresponsive to determining, by the one or more processors, that the levelof the attention buffer satisfies a second attention buffer threshold,allowing interaction with the user interface.

Example 13

A method for pacing content browsing of a vehicle operator, the methodcomprising: receiving, by one or more processors of a computing device,an indication of a first user input; responsive to receiving theindication of the first user input, adjusting, by the one or moreprocessors, a level of an attention buffer at a defined rate; responsiveto determining that the level of the attention buffer satisfies a firstthreshold, outputting, by the one or more processors, a firstnotification to discourage interaction with a user interface of thecomputing device; responsive to determining that an indication of asecond user input has not been received within a time period, adjusting,by the one or more processors, a level of the attention buffer; andresponsive to determining, by the one or more processors, that the levelof the attention buffer satisfies a second threshold, allowing furtherinteraction with the user interface without outputting a subsequentnotification to discourage interaction with the user interface.

Example 14

The method of example 13, further comprising: receiving, by one or moreprocessors of a computing device, an indication of a second user input;responsive to receiving the indication of the second user input,adjusting, by the one or more processors, a level of an attention bufferat a defined rate; responsive to determining that the level of theattention buffer satisfies a third threshold, outputting, by the one ormore processors, a second notification to discourage further interactionwith a user interface of the computing device, wherein the secondnotification differs from the first notification.

Example 15

The method of any combination of examples 13 and 14, further comprising:receiving, by one or more processors of a computing device, anindication of a second user input; responsive to receiving theindication of the second user input, adjusting, by the one or moreprocessors, a level of an attention buffer at a defined rate; andresponsive to determining that the level of the attention buffersatisfies a third threshold, preventing, by the one or more processors,further interaction with a user interface of the computing device.

Example 16

The method of any combination of examples 13-15, further comprising:responsive to determining, by the one or more processors, that the levelof the attention buffer satisfies the second threshold, outputting anotification indicating further interaction with the user interface isallowed.

Example 17

The method of any combination of examples 13-16, further comprising:determining a type of the first user input; and selecting, based on thetype of the first user input, the defined rate at which to adjust thelevel of the attention buffer.

Example 18

The method of example 17, wherein the type of the first user input isselected from the group consisting of: a tap input, a swipe input, ascroll input, a pad input, a knob input, a voice command, and anon-touch gesture command.

Example 20

A computing device comprising: one or more audio output components; andone or more processors configured to perform the method of anycombination of examples 13-16.

Example 21

A computer-readable storage medium storing instructions that, whenexecuted, cause one or more processors of an in-vehicle computing systemto perform the method of any combination of examples 13-16.

Example 22

A computing device comprising means for performing the method of anycombination of examples 13-16.

The techniques described in this disclosure may be implemented, at leastin part, in hardware, software, firmware, or any combination thereof.For example, various aspects of the described techniques may beimplemented within one or more processors, including one or moremicroprocessors, digital signal processors (DSPs), application specificintegrated circuits (ASICs), field programmable gate arrays (FPGAs), orany other equivalent integrated or discrete logic circuitry, as well asany combinations of such components. The term “processor” or “processingcircuitry” may generally refer to any of the foregoing logic circuitry,alone or in combination with other logic circuitry, or any otherequivalent circuitry. A control unit including hardware may also performone or more of the techniques of this disclosure.

Such hardware, software, and firmware may be implemented within the samedevice or within separate devices to support the various techniquesdescribed in this disclosure. In addition, any of the described units,modules or components may be implemented together or separately asdiscrete but interoperable logic devices. Depiction of differentfeatures as modules or units is intended to highlight differentfunctional aspects and does not necessarily imply that such modules orunits must be realized by separate hardware, firmware, or softwarecomponents. Rather, functionality associated with one or more modules orunits may be performed by separate hardware, firmware, or softwarecomponents, or integrated within common or separate hardware, firmware,or software components.

The techniques described in this disclosure may also be embodied orencoded in an article of manufacture including a computer-readablestorage medium encoded with instructions. Instructions embedded orencoded in an article of manufacture including a computer-readablestorage medium encoded, may cause one or more programmable processors,or other processors, to implement one or more of the techniquesdescribed herein, such as when instructions included or encoded in thecomputer-readable storage medium are executed by the one or moreprocessors. Computer readable storage media may include random accessmemory (RAM), read only memory (ROM), programmable read only memory(PROM), erasable programmable read only memory (EPROM), electronicallyerasable programmable read only memory (EEPROM), flash memory, a harddisk, a compact disc ROM (CD-ROM), a floppy disk, a cassette, magneticmedia, optical media, or other computer readable media. In someexamples, an article of manufacture may include one or morecomputer-readable storage media.

In some examples, a computer-readable storage medium may include anon-transitory medium. The term “non-transitory” may indicate that thestorage medium is not embodied in a carrier wave or a propagated signal.In certain examples, a non-transitory storage medium may store data thatcan, over time, change (e.g., in RAM or cache).

Various examples of the invention have been described. These and otherexamples are within the scope of the following claims.

What is claimed is:
 1. A method for pacing content interaction of avehicle operator, the method comprising: receiving, by one or moreprocessors of a computing device, an indication of a first user input;determining, by the one or more processors, a driving state of avehicle; selecting, by the one or more processors and based on thedetermined driving state, a defined rate for adjusting a level of anattention buffer; responsive to receiving the indication of the firstuser input, adjusting, by the one or more processors, the level of theattention buffer at the defined rate; responsive to determining that thelevel of the attention buffer satisfies a first threshold, preventing,by the one or more processors, further interaction with a user interfaceof the computing device; responsive to determining that an indication ofa second user input has not been received within a time period,adjusting, by the one or more processors, a level of the attentionbuffer; and responsive to determining, by the one or more processors,that the level of the attention buffer satisfies a second threshold,allowing further interaction with the user interface.
 2. The method ofclaim 1, wherein selecting the defined rate for adjusting the level ofthe attention buffer comprises selecting a higher defined rate foradjusting the attention buffer in response to determining the drivingstate of the vehicle comprises a driving state expected to require moreattention to the driving task.
 3. The method of claim 1, whereindetermining the driving state of the vehicle comprises determining oneor more environmental conditions that may impact driving.
 4. The methodof claim 3, wherein the one or more environmental conditions compriseone or more of weather, traffic, or type of geographic area.
 5. Themethod of claim 1, wherein determining the driving state of the vehiclecomprises determining a speed of the vehicle.
 6. The method of claim 1,wherein determining the driving state of the vehicle comprisesdetermining the driving state of the vehicle based on one or more ofindications of driving state received from sensors of the computingdevice, indications of driving state received from a vehicle computingdevice integrated within the vehicle, indications of driving statereceived from other applications, and indications of driving statereceived from sensors associated with components of the vehicle.
 7. Themethod of claim 1, wherein determining the driving state of the vehiclecomprises determining the driving state of the vehicle based onindications of driving state received from a maps application.
 8. Themethod of claim 1, wherein determining the driving state of the vehiclecomprises determining the driving state of the vehicle based onindications of driving state received from a weather application.
 9. Themethod of claim 1, further comprising: determining, by the one or moreprocessors, a level of risk associated with the vehicle operator,wherein selecting the defined rate for adjusting the level of theattention buffer further comprises selecting the defined rate based onthe level of risk associated with the vehicle operator.
 10. The methodof claim 1, further comprising: determining a type of the first userinput, wherein selecting the defined rate for adjusting the level of theattention buffer further comprises selecting the defined rate based onthe type of the first user input.
 11. The method of claim 1, furthercomprising: determining, based on one or more of a format of informationdisplayed, a number of information items displayed, a quantity ofinformation displayed, and a quality of information displayed, an amountof information output for display in response to the first user input;and wherein selecting the defined rate for adjusting the level of theattention buffer further comprises selecting the defined rate at whichto adjust the level of the attention buffer based on the amount ofinformation output for display in response to the first user input. 12.The method of claim 1, further comprising: in response to determining,by the one or more processors, that the level of the attention buffersatisfies the second threshold, outputting an indication thatinteraction with the user interface is no longer suspended.
 13. Acomputing device comprising: one or more user input detectioncomponents; and one or more processors configured to: receive anindication of a first user input detected by the one or more user inputdetection components; determine a driving state of a vehicle; select,based on the determined driving state, a defined rate for adjusting alevel of an attention buffer; responsive to receiving the indication ofthe first user input, adjust the level of the attention buffer at thedefined rate; responsive to determining that the level of the attentionbuffer satisfies a first threshold, prevent further interaction with auser interface of the computing device; responsive to determining thatan indication of a second user input has not been received within a timeperiod, adjust a level of the attention buffer; and responsive todetermining that the level of the attention buffer satisfies a secondthreshold, allow further interaction with the user interface.
 14. Thecomputing device of claim 13, wherein the one or more processors areconfigured to select a higher defined rate for adjusting the attentionbuffer in response to determining the driving state of the vehiclecomprises a driving state expected to require more attention to thedriving task.
 15. The computing device of claim 13, wherein to determinethe driving state of the vehicle comprises determining one or moreenvironmental conditions that may impact driving.
 16. The computingdevice of claim 13, wherein to determine the driving state of thevehicle comprises determining a speed of the vehicle.
 17. The computingdevice of claim 13, wherein to determine the driving state of thevehicle comprises determining the driving state of the vehicle based onone or more of indications of driving state received from sensors of thecomputing device, indications of driving state received from a vehiclecomputing device integrated within the vehicle, indications of drivingstate received from other applications, and indications of driving statereceived from sensors associated with components of the vehicle.
 18. Thecomputing device of claim 13, wherein the one or more processors arefurther configured to: determine a type of the first user input; andselect, based on the type of the first user input, the defined rate atwhich to adjust the level of the attention buffer.
 19. The computingdevice of claim 13, wherein the one or more processors are furtherconfigured to: determine, based on one or more of a format ofinformation displayed, a number of information items displayed, aquantity of information displayed, and a quality of informationdisplayed, an amount of information output for display in response tothe first user input; and select, based on the amount of informationoutput for display in response to the first user input, the defined rateat which to adjust the level of the attention buffer.
 20. Anon-transitory computer-readable storage medium storing instructionsthat, when executed, cause one or more processors of a computing deviceto: receive an indication of a first user input detected by one or moreuser input detection components; determine a driving state of a vehicle;select, based on the determined driving state, a defined rate foradjusting a level of an attention buffer; responsive to receiving theindication of the first user input, adjust the level of the attentionbuffer at the defined rate; responsive to determining that the level ofthe attention buffer satisfies a first threshold, prevent furtherinteraction with a user interface of the computing device; responsive todetermining that an indication of a second user input has not beenreceived within a time period, adjust a level of the attention buffer;and responsive to determining that the level of the attention buffersatisfies a second threshold, allow further interaction with the userinterface.